Bump and patch coreos-init, bootengine, and afterburn to improve early networking - #4248
Open
chewi wants to merge 4 commits into
Open
Bump and patch coreos-init, bootengine, and afterburn to improve early networking#4248chewi wants to merge 4 commits into
chewi wants to merge 4 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the initrd/early-boot networking stack by bumping bootengine/coreos-init/afterburn and switching early ip= handling to systemd-network-generator (aiming for better IPv6/VLAN behavior and fewer surprises around device selection).
Changes:
- Bump bootengine and coreos-init to newer upstream commits and add corresponding revisioned ebuilds/manifests.
- Add an Afterburn patch series to support systemd-network-generator (and adjust ProxmoxVE
ip=generation, including dual-stack handling). - Update build/runtime dependencies and housekeeping (kernel DEPEND tweak, remove a dracut user-patch note, add a changelog entry).
Reviewed changes
Copilot reviewed 10 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-6.12.105.ebuild | Add gptfdisk to the kernel build dependency set. |
| sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/Manifest | Update bootengine distfile checksum/size for new pinned revision. |
| sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-9999.ebuild | Bump pinned bootengine commit hash. |
| sdk_container/src/third_party/coreos-overlay/sys-kernel/bootengine/bootengine-0.0.38-r49.ebuild | Add new revisioned bootengine ebuild pinned to the new commit. |
| sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-kernel/dracut/README.md | Remove documentation for a dracut iSCSI dependency patch. |
| sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-kernel/dracut/050-change-network-dep-iscsi.patch | Remove the dracut iSCSI dependency patch itself. |
| sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/Manifest | Update coreos-init distfile checksum/size for new pinned revision. |
| sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild | Bump pinned coreos-init commit hash. |
| sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r207.ebuild | Add new revisioned coreos-init ebuild pinned to the new commit (includes gptfdisk runtime dep). |
| sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0004-systemd-network-generator.patch | Add patch series enabling systemd-network-generator integration and ProxmoxVE ip= adjustments. |
| sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild | Apply the new systemd-network-generator patch for live builds. |
| sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-5.10.0-r2.ebuild | Add a release ebuild applying the same patch set. |
| changelog/bugfixes/2026-08-31-ip-kargs-parser.md | Add user-facing changelog entry documenting the ip= handling change (incl. dhcp,dhcp6 → any). |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
chewi
force-pushed
the
chewi/dracut-upstream-network
branch
from
August 31, 2026 12:51
5d2b619 to
0767d4f
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 13 changed files in this pull request and generated no new comments.
Suppressed comments (1)
sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0004-systemd-network-generator.patch:155
- The generator env file is written as
SYSTEMD_PROC_CMDLINE={cmdline}without quoting/escaping. Since cmdlines contain spaces, systemd’s EnvironmentFile parsing will split/truncate the value (and newlines could inject extra variables). Quote and escape the value before writing it.
+ let mut env_file =
+ File::create(path).with_context(|| format!("failed to create file {path:?}"))?;
+ writeln!(env_file, "SYSTEMD_PROC_CMDLINE={cmdline}")
+ .context("failed to write network generator environment file")?;
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pulls together flatcar/init#145, flatcar/bootengine#129, and coreos/afterburn#1299 to improve early networking. systemd-network-generator is now used instead of the old custom
ip=parser. IPv6 and VLANs should work better, and it will no longer assign the given IP address to the loopback interface if you don't specify the device name.How to use
This is most effectively tested with ProxmoxVE. /run/systemd/networkd should include 20-eth0.network and 71-default.network generated from the two different mechanisms. They should be roughly similar. You can also test the VLAN setup described in flatcar/Flatcar#1708 under QEMU.
Testing done
The most recent Jenkins build (now gone) was successful. Earlier builds tested all the platforms successfully. I have also done a lot of manual testing with QEMU and ProxmoxVE.
changelog/directory (user-facing change, bug fix, security fix, update)/bootand/usrsize, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.